package sort;

import java.util.Arrays;

public class SelectionSort {
    public static void main(String[] args) {
        int[] a = {100, 250, 5, 6, 85, 24, 14, 10, 52, 30, 15, 34, 64};
        System.out.println(Arrays.toString(a));
        sort(a);
        System.out.println(Arrays.toString(a));
    }

    /*
        1. i循环，范围 0 到 < a.length-1
        2. 最小值位置下标min定位到i位置（假设i位置最小）
        3. j循环，范围 i+1 到 < a.length
        4. j循环中，比较 j位置值<min位置值
        5. 在j位置找到了更小值，那么把min下标定位到j位置
        6. 最小值交换到前面的i位置
     */

    //选择排序
    private static void sort(int[] a) {
        for (int i = 0; i < a.length - 1; i++) {
            int min = i;
            for (int j = i + 1; j < a.length; j++) {
                if (a[j] < a[min]) {
                    min = j;
                }
            }
            int t = a[i];
            a[i] = a[min];
            a[min] = t;
        }
    }
}
